home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 21
/
Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso
/
Aminet
/
comm
/
cnet
/
ansi_pack.lha
/
ANSI_List
< prev
next >
Wrap
Text File
|
1996-11-30
|
24KB
|
509 lines
============================================================================
Using Amiga ANSI Codes With CNet Amiga, v3.0c (and Higher) v1.20
============================================================================
Written by Dotoran of Frontiers BBS (716)/823-9892
No doubt, if you've been using bulletin boards for any length of time,
you've heard of ANSI Escape Code Sequences. What you may NOT have known is
that you can use them with the CNet Amiga BBS Package. I don't simply mean
that CNet can read and interpret these codes, as in a door, but that you
and your users can actually enter them right into either of CNet's resident
editors. This file will explain all the known ANSI codes I could locate, and
I'll attempt to update this file when and if new ANSI codes have been found.
For those of you NOT familiar with ANSI Escape Codes, what they are is
nothing more than a series of characters which will have some sort of affect
on either the cursor, the screen, or the text which appears ON the screen.
All ANSI codes initially start with the ESC (Escape) Character. This is Ascii
Code 27, HEX Code 1B. This character will appear to look like a small arrow
pointing to the left if using CED or AZ, or will appear as a tilde ~ if in
one of the CNet Editors. The "Ed" and "MEmacs" programs are NOT good choices
to use when using ANSI codes as the ESC key is used to activate certain
commands within these programs. I suggest using CED or AZ as your external
editor if you'll be using something BESIDES the CNet internal editors.
============================================================================
When using the Line Editor or Visual Editor within CNet, you will need
to Press the ESC key TWICE to create the ~ (ESC char). Keep this in mind.
============================================================================
Following this ESC character, which will be referred to as ESC from now
on, you must use an Open Bracket character: [ (to thr RIGHT of "P")
Following the Open Bracket MAY come one, or several numbers separated by
semicolons, and finally a Command Character.
The Command Character may be an UPPER Case Letter, a lower case letter,
or a punctuation symbol. When the Command Character is a LETTER, the CASE of
that letter is VERY important, as there are a few ANSI codes that carry a
different meaning, depending on whether or not the letter is UPPER Case or
lower case.
Before we start with the long descriptions, let me say that the following
ANSI Codes will work on BOTH Amiga and IBM Machines, although only the ANSI
Codes that work under the Amiga environment will be listed. ALL of these will
also function under the IBM, but there are a few IBM ANSI Codes which will
NOT function under the Amiga, so these codes have been LEFT OUT of this list.
Alright, so much for the introductory paragraphs, let's get into seeing
what these ANSI Codes are all about. In the following descriptions, ESC will
mean you should press your ESC (Escape) key. Remember, if using one of the
CNet internal editors, you'll need to press ESC TWICE to get the ~ char.
============================================================================
Long Descriptions of Amiga ANSI Escape Codes.
============================================================================
ESC [ x A <--- MUST end in CAPITAL Letter "A".
DESCRIPTION: Will move the cursor UP "x" rows, while staying in the
same column.
EXAMPLES: ESC[5A - Move UP 5 rows, but STAY in the SAME column.
ESC[10A - Move UP 10 rows, but STAY in the SAME column.
----------------------------------------------------------------------------
ESC [ x B <--- MUST end in CAPITAL Letter "B"
DESCRIPTION: Will move the cursor DOWN "x" rows, while staying in the
same column.
EXAMPLES: ESC[3B - Move DOWN 3 rows, but STAY in the SAME column.
ESC[17B - Move DOWN 17 rows, but STAY in the SAME column.
----------------------------------------------------------------------------
ESC [ x C <--- MUST end in CAPITAL Letter "C"
DESCRIPTION: Will move the cursor to the RIGHT "x" columns, but will
stay on the same row.
EXAMPLES: ESC[7C - Move RIGHT 7 columns, but STAY on the SAME row.
ESC[38C - Move RIGHT 38 columns, but STAY on the SAME row.
----------------------------------------------------------------------------
ESC [ x D <--- MUST end in CAPITAL Letter "D"
DESCRIPTION: Will move the cursor to the LEFT "x" columns, but will
stay on the same row.
EXAMPLES: ESC[3D - Move LEFT 3 columns, but STAY on the SAME row.
ESC[15D - Move LEFT 15 columns, but STAY on the SAME row.
----------------------------------------------------------------------------
ESC [ x E <--- MUST end in CAPITAL Letter "E"
DESCRIPTION: Will move the cursor DOWN "x" rows, and will place the
cursor in column 1 of that row.
EXAMPLES: ESC[3E - Move to column 1, 3 rows BELOW current row.
ESC[12E - Move to column 1, 12 rows BELOW current row.
----------------------------------------------------------------------------
ESC [ x F <--- MUST end in CAPITAL Letter "F"
DESCRIPTION: Will move the cursor UP "x" rows, and will place the
cursor in column 1 of that row.
EXAMPLES: ESC[9F - Move to column 1, 9 rows ABOVE current row.
ESC[20F - Move to column 1, 20 rows ABOVE current row.
----------------------------------------------------------------------------
ESC [ r;c f <--- End in EITHER a LOWERCASE "f", or a CAPITAL Letter "H"
DESCRIPTION: Will move the cursor to Row "r", Column "c". Row and
column MUST be separated with a semicolon(;).
EXAMPLES: ESC[5;15f - Move cursor to Row 5, Column 15.
ESC[23;1f - Move cursor to Row 23, Column 1.
ESC [ r f <--- End in EITHER a LOWERCASE "f", or a CAPITAL Letter "H"
DESCRIPTION: Specifying ONLY the Row "r" will move the cursor to
Column 1 of Row "r".
EXAMPLES: ESC[5f - Move cursor to Row 5, Column 1.
ESC[18f - Move cursor to Row 18, Column 1.
ESC [ ;c f <--- End in EITHER a LOWERCASE "f", or a CAPITAL Letter "H"
DESCRIPTION: Specifying ONLY the Column "c" will move the cursor to
Column "c" of Row 1.
EXAMPLES: ESC[;7f - Move cursor to Row 1, Column 7.
ESC[;35f - Move cursor to Row 1, Column 35.
NOTES: When specifying ONLY the Column, use a semicolon(;) BEFORE
the Column value to differentiate it from the Row value.
----------------------------------------------------------------------------
ESC [ r;c H <--- End in EITHER a CAPITAL Letter "H", or a LOWERCASE "f"
DESCRIPTION: Will move the cursor to Row "r", Column "c". Row and
column MUST be separated with a semicolon(;).
EXAMPLES: ESC[5;15H - Move cursor to Row 5, Column 15.
ESC[23;1H - Move cursor to Row 23, Column 1.
ESC [ r H <--- End in EITHER a CAPITAL Letter "H", or a LOWERCASE "f"
DESCRIPTION: Specifying ONLY the Row "r" will move the cursor to
Column 1 of Row "r".
EXAMPLES: ESC[5H - Move cursor to Row 5, Column 1.
ESC[18H - Move cursor to Row 18, Column 1.
ESC [ ;c H <--- End in EITHER a CAPITAL Letter "H", or a LOWERCASE "f"
DESCRIPTION: Specifying ONLY the Column "c" will move the cursor to
Column "c" of Row 1.
EXAMPLES: ESC[;7H - Move cursor to Row 1, Column 7.
ESC[;35H - Move cursor to Row 1, Column 35.
NOTES: When specifying ONLY the Column, use a semicolon(;) BEFORE
the Column value to differentiate it from the Row value.
----------------------------------------------------------------------------
ESC [ 1 J <--- MUST end in CAPITAL Letter "J"
DESCRIPTION: Will Clear(Erase) the screen STARTING at the HOME Position,
Row 1 / Column 1, and ENDING at the current cursor location.
EXAMPLES: ESC[1J - Blank everything ABOVE and to the LEFT of the
current cursor location.
----------------------------------------------------------------------------
ESC [ 2 J <--- MUST end in CAPITAL Letter "J"
DESCRIPTION: Will Clear(Erase) the ENTIRE screen, then place the cursor
at the HOME Position(Row 1, Column 1).
EXAMPLES: ESC[2J - Blank the WHOLE Screen, then move the cursor
to the UPPER LEFT corner of the screen.
----------------------------------------------------------------------------
ESC [ 3 J <--- MUST end in CAPITAL Letter "J"
DESCRIPTION: Will Clear(Erase) the screen STARTING at the current cursor
location, and ENDING at the BOTTOM of the screen.
EXAMPLES: ESC[3J - Blank everything BELOW and to the RIGHT of the
current cursor location.
NOTES: You can also use this command by leaving the "3" OUT of the
command, like this: ESC [ J (Example: ESC[J )
----------------------------------------------------------------------------
ESC [ 1 K <--- MUST end in CAPITAL Letter "K"
DESCRIPTION: Will Clear(Erase) from the BEGINNING of the line to the
Column the cursor is sitting in.
EXAMPLES: ESC[1K - Blank everything UNDER and to the LEFT of the
current cursor location.
----------------------------------------------------------------------------
ESC [ 2 K <--- MUST end in CAPITAL Letter "K"
DESCRIPTION: Will Clear(Erase) the ENTIRE line the cursor is sitting on,
but will NOT delete the line.
EXAMPLES: ESC[2K - Blank everything UNDER, LEFT, and RIGHT of the
current cursor location.
----------------------------------------------------------------------------
ESC [ 3 K <--- MUST end in CAPITAL Letter "K"
DESCRIPTION: Will Clear(Erase) from the current cursor location to the
END of the line.
EXAMPLES: ESC[3K - Blank everything to the RIGHT of the current
cursor location.
NOTES: You can also use this command by leaving the "3" OUT of the
command, like this: ESC [ K (Example: ESC[K )
----------------------------------------------------------------------------
ESC [ x L <--- MUST end in CAPITAL Letter "L"
DESCRIPTION: Will INSERT "x" new lines BELOW the cursor.
EXAMPLES: ESC[4L - Insert 4 blank lines below the line the cursor
is currently sitting on.
NOTES: ALL rows BELOW the cursor will be moved DOWN the screen to
make room for the inserted lines. Rows will be pushed OUT
the BOTTOM of the screen IF NEED BE. The UPPER rows will
NOT scroll UP to make room.
----------------------------------------------------------------------------
ESC [ x M <--- MUST end in CAPITAL Letter "M"
DESCRIPTION: Will DELETE "x" rows, starting at the Cursor's row.
EXAMPLES: ESC[5M - Delete the row the cursor is on and the 4 rows
BELOW the cursor. (5 rows in all)
NOTES: The rows left over will be PULLED UP to meet the row above
the current cursor's row. No GAPS will be shown.
----------------------------------------------------------------------------
ESC [ s;f;b m <--- MUST end in LOWERCASE Letter "m"
DESCRIPTION: See the END of this List for the FULL DESCRIPTION on using
this command.
----------------------------------------------------------------------------
ESC [ x P <--- MUST end in CAPITAL Letter "P"
DESCRIPTION: Will Delete(Pull) "x" characters to the RIGHT of the cursor
INTO the cursor, so as not to leave a GAP.
EXAMPLES: ESC[3P - Erase the 3 characters to the RIGHT of the
cursor by PULLING the line INTO the cursor.
----------------------------------------------------------------------------
ESC [ x S <--- MUST end in CAPITAL Letter "S"
DESCRIPTION: Will Move(Slide) the ENTIRE Screen UP "x" Rows.
EXAMPLES: ESC[5S - Bump the screen UP 5 rows.
ESC[23S - Bump the screen UP 23 rows.
NOTES: Any text at the TOP of the screen will be PUSHED OUT the
top of the screen and CAN'T be gotten back.
----------------------------------------------------------------------------
ESC [ s <--- MUST end in LOWERCASE Letter "s"
DESCRIPTION: Will Save(Remember) the cursor's current Row and Column.
EXAMPLES: ESC[s - Remember the Row and Column the cursor is
presently sitting in.
NOTES: Use the "u" command to place the cursor BACK to this
"saved" screen position.
----------------------------------------------------------------------------
ESC [ r t <--- MUST end in LOWERCASE Letter "t"
DESCRIPTION: Will make Row "r" the new BOTTOM of Screen. ALL text BELOW
this row will be LOCKED in place, as all scrolling will only
occur ABOVE this row.
EXAMPLES: ESC[13t - Set Row 13 as the BOTTOM of the screen. Line
scrolling will BEGIN on this row, so as not to
disturb any rows BELOW this line.
----------------------------------------------------------------------------
ESC [ x T <--- MUST end in CAPITAL Letter "T"
DESCRIPTION: Will Move(Slide) the ENTIRE Screen DOWN "x" Rows.
EXAMPLES: ESC[8T - Bump the screen DOWN 8 rows.
ESC[15T - Bump the screen DOWN 15 rows.
NOTES: Any text at the BOTTOM of the screen will be PUSHED OUT
the bottom of the screen and CAN'T be gotten back.
----------------------------------------------------------------------------
ESC [ u <--- MUST end in LOWERCASE Letter "u"
DESCRIPTION: Will place the cursor at the last Saved screen location, or
use current location if no location was saved previously.
EXAMPLES: ESC[u - Move the cursor to the row and column that were
last "remembered" by the "s" command.
NOTES: Use the ESC [ s command FIRST to SAVE a screen location.
NOTES2: Also, I've found that if an ESC [ s was NOT used in the
file before hand, that the cursor will disappear if used
right before a prompt. If the ESC [ s command IS ever used,
then this CURSOR HIDE is disabled. I'm still trying to
figure out how to reinitialize the "s" command to a NULL
state, which would reenable the "u" HIDING feature.
----------------------------------------------------------------------------
ESC [ p x <--- MUST end in LOWERCASE Letter "x"
DESCRIPTION: Will move the Pixel Cursor "p" Pixels to the RIGHT of it's
current position.
EXAMPLES: ESC[4x - Moves 4 Pixels to the RIGHT. This is about one
half the distance between characters on a 640
by 200 screen.
NOTES: This, and the "y" command, are those used by the IFF to
ANSI Conversion programs. The "Pixel" cursor appears to
be located on the TOP Pixel row of the cursor character.
----------------------------------------------------------------------------
ESC [ p y <--- MUST end in LOWERCASE Letter "y"
DESCRIPTION: Will move the Pixel Cursor "p" Pixels BELOW it's current
position.
EXAMPLES: ESC[10y - Moves 10 Pixels DOWN. This is about the size
of one row on the screen.
NOTES: This, and the "x" command, are those used by the IFF to
ANSI Conversion programs. The "Pixel" cursor appears to
be located on the TOP Pixel row of the cursors character.
----------------------------------------------------------------------------
ESC [ x @ <--- MUST end in SYMBOL Character "@"
DESCRIPTION: Will INSERT "x" characters AFTER the Cursor.
EXAMPLES: ESC[5@ - Pushes the character AFTER the cursor, and any
other characters on that line to the RIGHT 5
spaces. A GAP is made when using this command.
----------------------------------------------------------------------------
ESC [ s;f;b m <--- MUST end in LOWERCASE Letter "m"
DESCRIPTION: This command is used to modify the way TEXT appears on your
screen. The Style, ForeGround, and BackGround, of the Text
can be modified using this command.
NOTES: Style "s", ForeGround "f", and BackGround "b". ALL values
are separated using the semicolon (;). You may include as
MANY, or as FEW of the following within this command.
Text Styles: 0 - Normal Text (White Text On Black BackGround)
1 - Bright Text (The High 8 Colors: 9-f MCI's)
4 - UnderLined Text (Sometimes Called UnderScored)
5 - Bold Text (Flashing Text on IBM's)
7 - Reverse Text (ForeGround & BackGround Switch)
ForeGrounds: 30 - Black Text BackGrounds: 40 - Black Field
31 - Red Text 41 - Red Field
32 - Green Text 42 - Green Field
33 - Yellow Text 43 - Yellow Field
34 - Blue Text 44 - Blue Field
35 - Purple Text 45 - Purple Field
36 - Cyan Text 46 - Cyan Field
37 - White Text 47 - White Field
NOTES: As you can see, the BackGround values are simply 10 higher
than their ForeGround counterparts. Values can be placed
in ANY order within the "m" command, as shown in these
examples:
EXAMPLES: ESC[1;31;44m - Text appearing AFTER this command will be
in BRIGHT RED on a BLUE BackGround. Note
that the "Bright" colors coincide with the
upper 8 MCI Colors: 8, 9, a, b, c, d, e, f.
ESC[5;33;42m - Text appearing AFTER this command will be
in BOLD YELLOW on a GREEN BackGround. Text
will FLASH, instead of BOLD on IBM's.
ESC[1;5;35;47m - Text appearing AFTER this command will be
in BRIGHT, BOLD PURPLE on WHITE BackGround,
or BRIGHT, FLASHING PURPLE on WHITE for
IBM Machines.
ESC[33;45m - Text appearing AFTER this command will be
in YELLOW on a PURPLE BackGround.
ESC[7;33;45m - Text appearing AFTER this command will be
in PURPLE on YELLOW BackGround. Note that
COLORS "33" and "45" are the same as in
the above example, except "7" (Inverse)
is being used.
ESC[1;7;31;44m - NEAT TRICK! Text appearing AFTER this one
will be BLUE on a BRIGHT RED BackGround.
This emulates the MCI: \z9\c4, IF the "Z"
MCI command would support numbers greater
than 7. Only way to do this is through
ANSI coding! Again, NEAT TRICK!
ESC[0m - This command will TERMINATE ALL Styles,
-or ForeGrounds, and BackGrounds, and return
ESC[m to a WHITE on BLACK initial state.
NOTES: Keep in mind that the "Styles" are ENABLE Only. By this, I
mean the ONLY way to DISABLE a Style is with the ESC[0m
command. This isn't so bad, but that it will ALSO DISABLE
ALL other Styles. This can kind of be a nuisance when you
wish to mix Bright and Regular colors, like this:
ESC[1;32mMESC[0;32main ESC[1;32mPESC[1;32mromptESC[1;37m:
This long ANSI Line creates: Main Prompt:
Where the "M" and "P" are in BRIGHT GREEN, other letters
are in regular GREEN, and the colon is in BRIGHT WHITE.
Notice that you have to use the "0" parameter to select
regular GREEN, then back to "1" for BRIGHT GREEN again.
============================================================================
Well, that completes the list of KNOWN (by me) Amiga ANSI Codes. As I
mentioned earlier, if I find any other ANSI codes, I'll be sure to add them
into this list sometime in the future.
Lastly, I'd like to mention ANSI Macros, aka Signature Files. I've made
numerous ones for myself over the past few years using my favorite IBM ANSI
drawing program, BBS Draw, v4.0. Once created, I toss a copy of my signature
in my uploads directory for my term program. Whenever I call another bbs, I
use the .Z (Zip Upload) command to send my new signature to that bbs. Use
Xmodem proto, instead of Ascii as CNet will strip the ESC codes if sent via
ASCII(This is because sending via Ascii is the same as emulating yourself as
having actually typed this text in, and if you'll recall from above, when we
TYPE ANSI codes into the editor, we need to press the ESC key TWICE in order
for it to appear. If you created an ANSI picture using double ESC codes, then
this Ascii problem would not exist!). I've never had a problem uploading ANSI
files using Xmodem. Give it a try! YOUR bbs should NOT be the ONLY place you
use your CUSTOM Signature Files!
The codes referred to in this article have been FULLY TESTED using my
copy of CNet Amiga, and SHOULD function as prescribed on ALL versions of
CNet from 3.05c to the present. If you know of another ANSI Amiga Code that
is NOT part of this list, PLEASE let me know. I'd LOVE to add it to this
list. I feel this to be the most complete Amiga ANSI Code listing available.
Finally, as yet another help, I created a QUICK ANSI Listing, which has
short descriptions of ALL ANSI Codes covered above. This listing was written
to fit nicely on ONE sheet of paper, roughly 60 to 64 lines, PICA or ELITE.
This listing can be found as the filename "ANSI_List2" in this archive.
For the ARexx Programmers out there, check the "ANSI_Rexx" file, which
is also located in this archive. This file is an article on how to use ANSI
in your programs. Things like how to read the cursor arrow keys, the ESC key,
the ENTER key, etc. can all be done through Arexx. Read it and find out now!
- Dotoran
============================================================================
Call Frontiers BBS (716)/823-9892 Today!
============================================================================